Non-volatile memory devices such as Solid State Drives (SSDs) are finding new applications in consumer electronics. For example, they are replacing Hard Disk Drives (HDDs), which typically comprise rapidly rotating disks (platters). Non-volatile memories, sometimes referred to as ‘flash memories’ or ‘flash memory devices’ (for example, NAND and NOR flash memory devices), are used in media storage, cameras, mobile phones, mobile computers, laptop computers, USB flash drives, etc. Non-volatile memory provides a relatively reliable, compact, cost-effective, and easily accessible method of storing data when the power is off.
Flash memory controllers are used to manage the data stored in the non-volatile memory, and to act as an interface between a host and the non-volatile memory. A flash memory controller can include firmware that can include a Flash Translation Layer (FTL) that maps the host side logical addresses to the flash memory side “physical addresses” which correspond to physical locations. The mapping between the logical addresses and the physical addresses can change during operating of the system for various reasons including flash management. During operation, the FTL may maintain the tables that enable the translation in volatile memory, such as Dynamic Random Accessible Memory (DRAM), inside or accessible to the controller.